package com.gqj.meter.service;

import com.gqj.meter.domain.MdWhInfo;

import java.util.List;
import java.util.Map;

/**
 * 库房信息Service接口
 *
 * @author lxq
 * @date lxq-01-09
 */
public interface IMdWhInfoService
{
    /**
     * 查询库房信息
     *
     * @param whId 库房信息主键
     * @return 库房信息
     */
    public MdWhInfo selectMdWhInfoByWhId(Long whId);

    /**
     * 查询库房信息列表
     *
     * @param mdWhInfo 库房信息
     * @return 库房信息集合
     */
    public List<MdWhInfo> selectMdWhInfoList(MdWhInfo mdWhInfo);

    /**
     * 新增库房信息
     *
     * @param mdWhInfo 库房信息
     * @return 结果
     */
    public int insertMdWhInfo(MdWhInfo mdWhInfo);

    /**
     * 修改库房信息
     *
     * @param mdWhInfo 库房信息
     * @return 结果
     */
    public int updateMdWhInfo(MdWhInfo mdWhInfo);

    /**
     * 批量删除库房信息
     *
     * @param whIds 需要删除的库房信息主键集合
     * @return 结果
     */
    public int deleteMdWhInfoByWhIds(Long[] whIds);

    /**
     * 删除库房信息信息
     *
     * @param whId 库房信息主键
     * @return 结果
     */
    public int deleteMdWhInfoByWhId(Long whId);

    /**
     * 查询库房下拉框
     *
     * @return 库房集合
     */
    public List<Map<String, Object>> mdWhInfoOptions();

    /**
     * 导入库房数据
     *
     * @param mdWhInfoList 库房列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importMdWhInfo(List<MdWhInfo> mdWhInfoList, Boolean isUpdateSupport, String operName);
}
